package algorithm.leetcode.I101to200;

import algorithm.leetcode.TreeNode;

/**
 * 树的末端就两种情况,一个是有一边有一边没有,所以要单独设置没有那边的base case,也就是null的情况,对应下面的第一个if
 * 还有一种情况就是叶子节点,对应下面第二个if
 */

public class Q112 {

    public boolean hasPathSum(TreeNode root, int targetSum) {
        if (root == null) return targetSum == 0;
        if (root.left == null && root.right == null) return targetSum == root.val;
        return hasPathSum(root.left, targetSum-root.val) || hasPathSum(root.right, targetSum-root.val);
    }

}